Scroll to navigation

strtol(3) 2007-10-27-16:31 strtol(3)

Назва

strtol, strtoll, strtoq - перетворює ланцюжок на довге ціле

Огляд

#include <stdlib.h>

long int

strtol(const char *nptr, char **endptr, int base);

long long int strtoll(const char *nptr, char **endptr, int base);

Опис

Функція strtol() перетворює ланцюжок nptr на довге ціле, відповідно до основи системи числення base; остання повинна знаходитись між 2 та 36 включно, або бути спеціальним значенням 0.

Ланцюжок повинен починатися з необов'язкових пропусків (як їх розпізнає isspace(3)) з наступним необов'язковим знаком `+' або `-'. Якщо base дорівнює нуль або 16, ланцюжок може включати префікс `0x' і число читатиметься як шістнадцяткове; нульове значення base розглядається як десяткова система числення, хіба наступним знаком є `0', в такому випадку число вважатиметься вісімковим.

Остаток ланцюжка буде перетворено у значення типу long int у очевидний спосіб, зупиняючись на першому знакові, що не є чинною цифрою в даній системі числення. (В системах більших за десяткову, літера `A' верхнього чи нижного регістру позначає 10, `B' - 11 і так далі, з `Z', що відповідає 35.)

Якщо значення endptr не дорівнює NULL, strtol() збереже адресу першого ж нечинного знаку в **endptr.

2007-10-27-16:31 © 2005-2007 DLOU, GNU FDL